package chapter03;

public class Java05_FlowControl {
    public static void main(String[] args) {
        // TODO 重复执行(循环执行)
        // 需要根据某一个条件来重复的执行某段代码，重复执行的过程称之为循环
        /*
            Java中的循环控制：
            1.while循环
            2.do...while循环
            3.for循环
         */

        // TODO while循环(有条件的循环)
        // 根据条件来重复执行某段代码
        // 语法：while (条件表达式) {需要循环的代码}
        /*
            基本执行原理：while循环会判断条件表达式的结果是否为true，
            如果为false，跳出循环结构
            如果为true，会执行大括号内的逻辑代码，代码执行完毕后，会重新判断条件表达式的结果
         */
        System.out.println("第一步");
        int age = 30;
        while (age < 40) {
            System.out.println("循环的代码");
            //age = 40;
            age++;
        }
        System.out.println("第二步");

        // TODO do...while循环
        /*
            语法结构：
            do {
                循环代码
            } while (条件表达式);
         */
        // 语法执行原理：与while语法基本相同，区别在于代码是否需要至少执行一次
        // while循环语法可能执行可以能不执行
        // do...while循环语法一定至少执行一次
        int age1 = 40;
        do {
            System.out.println("循环的代码1");
        } while (age1 < 40);
        System.out.println("第三步");

        // TODO for循环
        /*
            for循环语法结构：
            for (初始化表达式; 条件表达式; 更新表达式) {
                循环语句
            }
         */
        // 初始化表达式用于对条件表达式中使用到的变量进行初始化
        // 如果条件表达式结果为false，则跳过循环语句，直接执行后续的代码
        // 循环代码执行后，会重新判断条件表达式，如果为true，会继续执行循环代码
        for (int i = 30; i < 40; i++) {
            System.out.println("循环的代码2");
            //i++;
        }
        System.out.println("第四步");
    }
}
